package com.yeyks.service;

import com.alibaba.fastjson.JSONObject;
import com.yeyks.dal.domain.RechargeRecord;
import com.yeyks.dto.PayParam;
import com.yeyks.dto.RecommendDetailDTO;

import java.util.List;
import java.util.Map;

/**
 * @author fuchangshuai
 * @date 2019/4/23 0023
 */
public interface RechargeRecordService {
    /**
     * h5用户推广充值
     *
     * @param payParam
     * @return
     */
    Map<String, Object> h5Pay(PayParam payParam);

    /**
     * 处理推广充值回调
     *
     * @param orderNo 订单号
     * @param flag 是否成功
     */
    void payCallback(String orderNo, Boolean flag);

    /**
     * 通过推广订单id获取推广订单信息
     *
     * @param orderNo
     * @return
     */
    RechargeRecord selectOrderByOrderNo(String orderNo);

    /**
     * 通过邀请码获取该邀请码对应推广人数
     *
     * @param inviteCode
     * @return
     */
    Integer selectCountByInviteId(String inviteCode);

    /**
     * 获取佣金明细
     *
     * @param id
     * @param type
     * @param pageNo
     * @param pageSize
     * @return
     */
    List<RecommendDetailDTO> detailList(Integer id, String type, Integer pageNo, Integer pageSize);

    /**
     * 推广规则
     *
     * @return
     */
    List<String> rule();

    /**
     * app用户推广充值
     *
     * @param payParam
     * @return
     */
    Map<String, Object> appPay(PayParam payParam);

    /**
     * 获取活动链接
     *
     * @return
     */
    Object getUrl();

    /**
     * 判断用户是否已经充值
     *
     * @param userId
     * @return
     */
    Boolean isRecharge(Integer userId);
}
